GCancellable *cancellable,
GError **error);
+gboolean
+_ostree_repo_read_bare_fd (OstreeRepo *self,
+ const char *checksum,
+ int *out_fd,
+ GCancellable *cancellable,
+ GError **error);
+
G_END_DECLS
return xattrs;
}
+gboolean
+_ostree_repo_read_bare_fd (OstreeRepo *self,
+ const char *checksum,
+ int *out_fd,
+ GCancellable *cancellable,
+ GError **error)
+{
+ char loose_path_buf[_OSTREE_LOOSE_PATH_MAX];
+
+ g_assert (self->mode == OSTREE_REPO_MODE_BARE ||
+ self->mode == OSTREE_REPO_MODE_BARE_USER);
+
+ _ostree_loose_path (loose_path_buf, checksum, OSTREE_OBJECT_TYPE_FILE, self->mode);
+
+ return gs_file_openat_noatime (self->objects_dir_fd, loose_path_buf, out_fd,
+ cancellable, error);
+}
+
/**
* ostree_repo_load_file:
* @self: Repo